/*******************************************************************************
**
**    MainWindows.h
**    ~~~~~~~~~~~~~~~~
**    Beschreibung
**
*******************************************************************************/

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QInputDialog>
#include <QDialog>
#include <QMessageBox>
#include <QMainWindow>
#include <QtNetwork>
#include <QTcpServer>
#include <QLabel>
#include <QPalette>
#include <stdlib.h>
#include "Klassen.h"
#include "dbdialog.h"
#include "startup.h"

class QUdpSocket;

namespace Ui {
   class MainWindow;
}


class MainWindow : public QMainWindow
{
   Q_OBJECT

   public:
      explicit MainWindow(QWidget *parent = 0);
      ~MainWindow();
      void setIP(QString pIP)
      {
         IP=pIP;
      }
      void setPorts(int prcv,int psnd)
      {
         rcvPort=prcv;
         sndPort=psnd;
      }
      void setName(char* pName,int pSNR)
      {
          pSpieler[pSNR].Name=pName;
      }

   private:
      Ui::MainWindow *ui;
      QUdpSocket *udprcvSocket,*udpsndSocket;
      QTcpSocket *tcprcvSocket,tcpsndSocket;
      QLabel *statusLabel;
      QString IP;
      QPixmap pixmap;
      int rcvPort,sndPort;
      int rndAugenzahl;
      int WuerfelAugen[3];
      class Spieler pSpieler[4];
      QString w1, w2, w3, ergebnis;
      int Wuerfe_MAX,Wurfnr,Spielernr,Spieler_MAX;
      startup Start;


      void init()
      {
        Wurfnr=0;
        Spielernr=1;
        Spieler_MAX=4;
        Wuerfe_MAX=3;
        pSpieler->Wuerfelhalten[0]=false;
        pSpieler->Wuerfelhalten[1]=false;
        pSpieler->Wuerfelhalten[2]=false;
      }

   private slots:
      void on_actionNew_Game_triggered();
      void on_actionEnd_triggered();
      void on_actionDatenbank_bearbeiten_triggered();
      void empfangeNachricht();
      void sendeNachricht();
      void wuerfle();
      void beendeWurf();
      void sortiereAugen(class Spieler *tSpieler);
      void bewerteRunde();
      void behalte_drehe_Wuerfel();
};

#endif // MAINWINDOW_H
